<?php

namespace modelo;

class AnaliseVertical{
	
	protected $arrayComposicaoDisponibilidades = Array();
	protected $arrayComposicaoDireitosRealizaveisCurtoPrazo= Array();
	protected $arrayComposicaoEstoque = Array();
	protected $arrayComposicaoAtivosRealizaveisLongoPrazo = Array();
	protected $arrayComposicaoInvestimentos = Array();
	protected $arrayComposicaoImobilizado = Array();
	protected $arrayComposicaoPassivoCirculante = Array();
	protected $arrayComposicaoPassivoNaoCirculante = Array();
	
	/**
	 * construtor responsavel por preencher os atributos da classe
	 */	
	public function __construct($arrayTotalizador, $post){
		
		/**
		 * calculo que criará um array com a analise vertical das disponibilidades com os indices
		 * caixa Rotativo
		 * fundo fixo
		 * bancos com movimento
		 * aplicações financeiras de curtissimo prazo
		 */	
		$this->arrayComposicaoDisponibilidades['caixaRotativo'] = round($post['caixaRotativo']/$arrayTotalizador['disponibilidades'], 2);
		$this->arrayComposicaoDisponibilidades['fundoFixo'] = round($post['fundoFixo']/$arrayTotalizador['disponibilidades'], 2);
		$this->arrayComposicaoDisponibilidades['bancosComMovimento'] = round($post['bancosComMovimento']/$arrayTotalizador['disponibilidades'], 2);
		$this->arrayComposicaoDisponibilidades['numerarioEmTransito'] = round($post['numerarioEmTransito']/$arrayTotalizador['disponibilidades'], 2);
		$this->arrayComposicaoDisponibilidades['aplicacoesCurtissimoPrazo'] = round($post['aplicacoesCurtissimoPrazo']/$arrayTotalizador['disponibilidades'], 2);
		
		/**
		 * calculo que criará um array com a analise vertical dos direitos realizaveis a curto prazo com os indices
		 * contas a receber de clientes
		 * administradora de cartões de credito
		 * cheques a apresentar
		 * cheques cobrança
		 * adiantamentos diversos
		 */	
		$this->arrayComposicaoDireitosRealizaveisCurtoPrazo['contasReceberClientes'] = round($post['contasReceberClientes']/$arrayTotalizador['direitosRealizaveisCurtoPrazo'], 2);
		$this->arrayComposicaoDireitosRealizaveisCurtoPrazo['administradoraCartaoCredito'] = round($post['administradoraCartaoCredito']/$arrayTotalizador['direitosRealizaveisCurtoPrazo'], 2);
		$this->arrayComposicaoDireitosRealizaveisCurtoPrazo['chequesApresentar'] = round($post['chequesApresentar']/$arrayTotalizador['direitosRealizaveisCurtoPrazo'], 2);
		$this->arrayComposicaoDireitosRealizaveisCurtoPrazo['chequesCobranca'] = round($post['chequesCobranca']/$arrayTotalizador['direitosRealizaveisCurtoPrazo'], 2);
		$this->arrayComposicaoDireitosRealizaveisCurtoPrazo['adiantamentosDiversos'] = round($post['adiantamentosDiversos']/$arrayTotalizador['direitosRealizaveisCurtoPrazo'], 2);
		
		/**
		 * calculo que criará um array com a analise vertical dos estoques com os indices
		 * almoxarifado
		 * estoque de Mercadorias
		 */	
		$this->arrayComposicaoEstoque['almoxarifado'] = round($post['almoxarifado']/$arrayTotalizador['estoque'], 2);
		$this->arrayComposicaoEstoque['estoqueMercadorias'] = round($post['estoqueMercadorias']/$arrayTotalizador['estoque'], 2);
		
		/**
		 * calculo que criará um array com a analise vertical das disponibilidades com os indices
		 * caixa Rotativo
		 * fundo fixo
		 * bancos com movimento
		 * aplicações financeiras de curtissimo prazo
		 */	
		$this->arrayComposicaoAtivosRealizaveisLongoPrazo['emprestimosConcedidoSocios'] = round($post['emprestimosConcedidoSocios']/$arrayTotalizador['ativosRealizaveisLongoPrazo'], 2);
		$this->arrayComposicaoAtivosRealizaveisLongoPrazo['depositosJudiciais'] = round($post['depositosJudiciais']/$arrayTotalizador['ativosRealizaveisLongoPrazo'], 2);
		
		/**
		 * calculo que criará um array com a analise vertical dos investimentos com os indices
		 * participação de outras empresas
		 * obras de arte
		 */	
		$this->arrayComposicaoInvestimentos['participacaoOutrasEmpresas'] = round($post['participacaoOutrasEmpresas']/$arrayTotalizador['investimentos'], 2);
		$this->arrayComposicaoInvestimentos['obrasArte'] = round($post['obrasArte']/$arrayTotalizador['investimentos'], 2);
		
		/**
		 * calculo que criará um array com a analise vertical dos imobilizados com os indices
		 * moveis e utensilios
		 * maquinas e equipamentos
		 * veiculos
		 * imoveis
		 */	
		$this->arrayComposicaoImobilizado['moveisUtensilios'] = round($post['moveisUtensilios']/$arrayTotalizador['ativoImbilizado'], 2);
		$this->arrayComposicaoImobilizado['maquinasEquipamentos'] = round($post['maquinasEquipamentos']/$arrayTotalizador['ativoImbilizado'], 2);
		$this->arrayComposicaoImobilizado['veiculos'] = round($post['veiculos']/$arrayTotalizador['ativoImbilizado'], 2);
		$this->arrayComposicaoImobilizado['imoveis'] = round($post['imoveis']/$arrayTotalizador['ativoImbilizado'], 2);
		
		/**
		 * calculo que criará um array com a analise vertical dos passivos cirulantes com os indices
		 * forcedores
		 * saldo negativo conta bancaria
		 * salarios e encargos
		 * indenizaçoes trabalhistas e encargos atrasados
		 * obrigacoes fiscais
		 * emprestimos
		 * outras indenizações
		 */	
		$this->arrayComposicaoPassivoCirculante['fornecedores'] = round($post['fornecedores']/$arrayTotalizador['passivoCirculante'], 2);
		$this->arrayComposicaoPassivoCirculante['saldoNegativoContaBancaria'] = round($post['saldoNegativoContaBancaria']/$arrayTotalizador['passivoCirculante'], 2);
		$this->arrayComposicaoPassivoCirculante['salariosEncargos'] = round($post['salariosEncargos']/$arrayTotalizador['passivoCirculante'], 2);
		$this->arrayComposicaoPassivoCirculante['indenizacoesTrabalhistasEncargosAtrasados'] = round($post['indenizacoesTrabalhistasEncargosAtrasados']/$arrayTotalizador['passivoCirculante'], 2);
		$this->arrayComposicaoPassivoCirculante['obrigacoesFiscais'] = round($post['obrigacoesFiscais']/$arrayTotalizador['passivoCirculante'], 2);
		$this->arrayComposicaoPassivoCirculante['emprestimos'] = round($post['emprestimos']/$arrayTotalizador['passivoCirculante'], 2);
		$this->arrayComposicaoPassivoCirculante['outrasIndenizacoes'] = round($post['outrasIndenizacoes']/$arrayTotalizador['passivoCirculante'], 2);
		
		/**
		 * calculo que criará um array com a analise vertical dos ativos nao circulantes com os indices
		 * financiamentos
		 * emprestimosNaoCirculante
		 */	
		$this->arrayComposicaoPassivoNaoCirculante['financiamentos'] = round($post['financiamentos']/$arrayTotalizador['passivoNaoCirculante'], 2);
		$this->arrayComposicaoPassivoNaoCirculante['emprestimosNaoCirculante'] = round($post['emprestimosNaoCirculante']/$arrayTotalizador['passivoNaoCirculante'], 2);
		
		
	}
	
	public function getComposicaoDisponibilidades(){
		return $this->arrayComposicaoDisponibilidades;
	}
	
	public function getComposicaoDireitosRealizaveisCurtoPrazo(){
		return $this->arrayComposicaoDireitosRealizaveisCurtoPrazo;
	}
	
	public function getComposicaoEstoque(){
		return $this->arrayComposicaoEstoque;
	}
	
	public function getComposicaoAtivosRealizaveisLongoPrazo(){
		return $this->arrayComposicaoAtivosRealizaveisLongoPrazo;
	}
	
	public function getComposicaoInvestimentos(){
		return $this->arrayComposicaoInvestimentos;
	}
	
	public function getComposicaoImobilizado(){
		return $this->arrayComposicaoImobilizado;
	}
	
	public function getComposicaoPassivoCirculante(){
		return $this->arrayComposicaoPassivoCirculante;
	}
	
	public function getComposicaoPassivoNaoCirculante(){
		return $this->arrayComposicaoPassivoNaoCirculante;
	}
	
}

?>